<!DOCTYPE html>
<!-- saved from url=(0095)https://www.nowcoder.com/issue/tutorial?zhuanlanId=jLN8b0&uuid=906fa9801ad74bbba07018ffc36af2d3 -->
<html lang="zh"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    
    
    <meta http-equiv="Content-Language" content="zh-CN">
    <link rel="icon" href="https://static.nowcoder.com/fe/file/images/nowpick/web/www-favicon.ico">
    <meta property="og:image" content="https://static.nowcoder.com/fe/common/share-logo.png">
    <meta property="og:type" content="website">
    <meta property="og:locale" content="zh_CN">
    <meta property="og:site_name" content="牛客网">
    <meta itemprop="image" content="https://static.nowcoder.com/images/logo_web_300.png">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    
    
    <title>最全Linux驱动开发八股文（七） - 牛客网</title>
    <meta name="description" content="你好，我是拉依达。 这是我的Linux驱动开发八股文详细解析系列。 本系列最开始是我在csdn上更新的文章，目前已经是csdn搜索“linux驱动”综合推荐第一名，累计阅读次数4w次。 全文总字数近8w字，是目前全网最全面，最清晰的入门linux驱动_牛客网_牛客在手,offer不愁">
    <meta name="keywords" content="面试,面试真题,面试宝典,面经,校招,求职,名企,名企面试,名企面经,Java,c语言,c++,算法,机器学习,深度学习,大数据,测试,前端,产品,运营,腾讯,阿里,百度,字节跳动,今日头条,网易,京东,美团,滴滴,华为,小米,google,携程,360,搜狗,新浪,微软,去哪儿,高薪,offer,互联网,IT,牛客网">
    <meta property="og:title" content="最全Linux驱动开发八股文（七） - 牛客网">
    <meta property="og:description" content="你好，我是拉依达。 这是我的Linux驱动开发八股文详细解析系列。 本系列最开始是我在csdn上更新的文章，目前已经是csdn搜索“linux驱动”综合推荐第一名，累计阅读次数4w次。 全文总字数近8w字，是目前全网最全面，最清晰的入门linux驱动_牛客网_牛客在手,offer不愁">
    

    

    <link rel="dns-prefetch" href="https://static.nowcoder.com/">
    <link rel="dns-prefetch" href="https://uploadfiles.nowcoder.com/">
    <link rel="dns-prefetch" href="https://gw-c.nowcoder.com/">
    <link rel="dns-prefetch" href="https://nowpick.nowcoder.com/">
    
    <link rel="preload" href="./最全Linux驱动开发八股文（七） - 牛客网_files/common.css" as="style">
    <link crossorigin="anonymous" rel="preload" href="./最全Linux驱动开发八股文（七） - 牛客网_files/runtime.js.下载" as="script">
    <link crossorigin="anonymous" rel="preload" href="./最全Linux驱动开发八股文（七） - 牛客网_files/vendor.dll.js.下载" as="script">
    <link crossorigin="anonymous" rel="preload" href="./最全Linux驱动开发八股文（七） - 牛客网_files/common.js.下载" as="script">

    
        <link rel="preload" href="./最全Linux驱动开发八股文（七） - 牛客网_files/main.entry.css" as="style">
    
    
        <link crossorigin="anonymous" rel="preload" href="./最全Linux驱动开发八股文（七） - 牛客网_files/main.entry.js.下载" as="script">
    

    
    
    <link rel="stylesheet" href="./最全Linux驱动开发八股文（七） - 牛客网_files/common.css">


    
        <link rel="stylesheet" href="./最全Linux驱动开发八股文（七） - 牛客网_files/main.entry.css">
    
    
    
    
<script async="" src="./最全Linux驱动开发八股文（七） - 牛客网_files/index.js.下载"></script><link charset="utf-8" rel="stylesheet" href="./最全Linux驱动开发八股文（七） - 牛客网_files/katex.min.css"><script async="" src="./最全Linux驱动开发八股文（七） - 牛客网_files/katex.min.js.下载"></script><script async="" src="./最全Linux驱动开发八股文（七） - 牛客网_files/auto-render.min.js.下载"></script></head>
<body class="" style="">
    
    
        <section id="jsApp" class="el-container tw-bg-[#f7f8f9] is-vertical" data-v-7912e35c=""><header class="el-header tw-sticky tw-top-0 tw-z-[999] !tw-h-14" style="height:auto;display:none;"><header class="!tw-sticky nc-nav-header js-nowcoder-header default-header-page" data-v-7849f2ec="" data-v-6fc27c15=""><nav data-v-7849f2ec=""><a href="https://www.nowcoder.com/" target="_self" class="logo" style="width:120px;" data-v-7849f2ec=""><img src="./最全Linux驱动开发八股文（七） - 牛客网_files/1.png" alt="logo" data-v-7849f2ec=""></a> <ul class="nc-nav-header-menu" style="margin-right:30px;flex-shrink:0;" data-v-cff83ca4="" data-v-7849f2ec=""><li class="hover-class nc-nav-header-menuitem" data-v-cff83ca4=""><a id="nav-home" href="https://www.nowcoder.com/" target="_self" class="hover-class" data-v-cff83ca4="">首页</a> <div class="line" style="display:none;" data-v-cff83ca4=""></div> <!----></li><li class="hover-class nc-nav-header-menuitem" data-v-cff83ca4=""><div class="el-dropdown" data-v-cff83ca4=""><a href="https://www.nowcoder.com/exam/company" target="_self" class="hover-class head-title el-dropdown-selfdefine" data-v-cff83ca4="" aria-haspopup="list" aria-controls="dropdown-menu-6983" role="button" tabindex="0">题库</a> <ul class="el-dropdown-menu el-popper nav-dropdown nc-nav-dropdown" style="display:none;" data-v-cff83ca4="" id="dropdown-menu-6983"><li tabindex="-1" class="el-dropdown-menu__item" data-v-cff83ca4=""><!----><div style="width:100%;" data-v-cff83ca4=""><a href="https://www.nowcoder.com/exam/intelligent" target="_self" class="tw-block" data-v-cff83ca4=""><div data-v-cff83ca4="">专项练习</div> <!----></a></div></li><li tabindex="-1" class="el-dropdown-menu__item" data-v-cff83ca4=""><!----><div style="width:100%;" data-v-cff83ca4=""><a href="https://www.nowcoder.com/exam/company" target="_self" class="tw-block" data-v-cff83ca4=""><div data-v-cff83ca4="">公司真题</div> <div data-v-cff83ca4="" class="nav-item-suffix">笔试</div></a></div></li><li tabindex="-1" class="el-dropdown-menu__item" data-v-cff83ca4=""><!----><div style="width:100%;" data-v-cff83ca4=""><a href="https://www.nowcoder.com/exam/interview" target="_self" class="tw-block" data-v-cff83ca4=""><div data-v-cff83ca4="">公司真题</div> <div data-v-cff83ca4="" class="nav-item-suffix">面试</div></a></div></li><li tabindex="-1" class="el-dropdown-menu__item" data-v-cff83ca4=""><!----><div style="width:100%;" data-v-cff83ca4=""><a href="https://www.nowcoder.com/exam/oj" target="_self" class="tw-block" data-v-cff83ca4=""><div data-v-cff83ca4="">在线编程</div> <!----></a></div></li><!----><!----><!----><!----></ul></div> <div class="line" style="display:none;" data-v-cff83ca4=""></div> <!----></li><li class="hover-class nc-nav-header-menuitem" data-v-cff83ca4=""><div class="el-dropdown" data-v-cff83ca4=""><a href="https://www.nowcoder.com/interview/center?entranceType=%E5%AF%BC%E8%88%AA%E6%A0%8F" target="_self" class="hover-class head-title el-dropdown-selfdefine" data-v-cff83ca4="" aria-haspopup="list" aria-controls="dropdown-menu-2431" role="button" tabindex="0">面试</a> <ul class="el-dropdown-menu el-popper nav-dropdown nc-nav-dropdown" style="display:none;" data-v-cff83ca4="" id="dropdown-menu-2431"><li tabindex="-1" class="el-dropdown-menu__item" data-v-cff83ca4=""><!----><div style="width:100%;" data-v-cff83ca4=""><a href="https://www.nowcoder.com/interview/center?entranceType=%E5%AF%BC%E8%88%AA%E6%A0%8F" target="_self" class="tw-block" data-v-cff83ca4=""><div data-v-cff83ca4="">面试经验</div> <!----></a></div></li><li tabindex="-1" class="el-dropdown-menu__item" data-v-cff83ca4=""><!----><div style="width:100%;" data-v-cff83ca4=""><a href="https://www.nowcoder.com/interview/ai/index?entranceType=%E5%AF%BC%E8%88%AA%E6%A0%8F" target="_self" class="tw-block" data-v-cff83ca4=""><div data-v-cff83ca4="">AI 模拟面试</div> <!----></a></div></li></ul></div> <div class="line" style="display:none;" data-v-cff83ca4=""></div> <!----></li><li class="hover-class nc-nav-header-menuitem" data-v-cff83ca4=""><a id="nav-zhiye" href="https://www.zhiyeapp.com/" target="_self" class="hover-class" data-v-cff83ca4="">简历</a> <div class="line" style="display:none;" data-v-cff83ca4=""></div> <!----></li><li class="hover-class nc-nav-header-menuitem" data-v-cff83ca4=""><a id="nav-jobs" href="https://www.nowcoder.com/jobs/recommend/campus" target="_self" class="hover-class" data-v-cff83ca4="">求职</a> <div class="line" style="display:none;" data-v-cff83ca4=""></div> <!----></li><li class="hover-class nc-nav-header-menuitem" data-v-cff83ca4=""><div class="el-dropdown" data-v-cff83ca4=""><a href="https://www.nowcoder.com/courses" target="_self" class="hover-class head-title el-dropdown-selfdefine" data-v-cff83ca4="" aria-haspopup="list" aria-controls="dropdown-menu-7156" role="button" tabindex="0">学习</a> <ul class="el-dropdown-menu el-popper nav-dropdown nc-nav-dropdown" style="display:none;" data-v-cff83ca4="" id="dropdown-menu-7156"><li tabindex="-1" class="el-dropdown-menu__item" data-v-cff83ca4=""><!----><div style="width:100%;" data-v-cff83ca4=""><a href="https://www.nowcoder.com/courses?category=1" target="_self" class="tw-block" data-v-cff83ca4=""><div data-v-cff83ca4="">基础学习课</div> <!----></a></div></li><li tabindex="-1" class="el-dropdown-menu__item" data-v-cff83ca4=""><!----><div style="width:100%;" data-v-cff83ca4=""><a href="https://www.nowcoder.com/courses?category=2" target="_self" class="tw-block" data-v-cff83ca4=""><div data-v-cff83ca4="">实战项目课</div> <!----></a></div></li><li tabindex="-1" class="el-dropdown-menu__item" data-v-cff83ca4=""><!----><div style="width:100%;" data-v-cff83ca4=""><a href="https://www.nowcoder.com/courses?category=3" target="_self" class="tw-block" data-v-cff83ca4=""><div data-v-cff83ca4="">求职辅导课</div> <!----></a></div></li><li tabindex="-1" class="el-dropdown-menu__item" data-v-cff83ca4=""><!----><div style="width:100%;" data-v-cff83ca4=""><a href="https://www.nowcoder.com/blog/blogCenter" target="_self" class="tw-block" data-v-cff83ca4=""><div data-v-cff83ca4="">专栏&amp;文章</div> <!----></a></div></li></ul></div> <div class="line" style="display:none;" data-v-cff83ca4=""></div> <!----></li><li class="hover-class nc-nav-header-menuitem" data-v-cff83ca4=""><a id="nav-acm" href="https://ac.nowcoder.com/" target="_blank" class="hover-class" data-v-cff83ca4="">竞赛</a> <div class="line" style="display:none;" data-v-cff83ca4=""></div> <!----></li></ul> <div class="nc-nav-header-search new-nc-nav-header-search" style="margin-left:auto;" data-v-225dea38="" data-v-7849f2ec=""><div aria-haspopup="listbox" role="combobox" aria-owns="el-autocomplete-5738" class="el-autocomplete" data-v-225dea38=""><div class="el-input el-input--prefix el-input--suffix is-borderless"><!----><input type="text" autocomplete="off" valuekey="value" popperclass="search-suggestion-list" placeholder="" maxlength="50" fetchsuggestions="function () { [native code] }" triggeronfocus="true" debounce="200" placement="bottom-start" popperappendtobody="true" visiblearrow="true" class="el-input__inner" style="padding-right:5px;" role="textbox" aria-autocomplete="list" aria-controls="id" aria-activedescendant="el-autocomplete-5738-item--1"><span class="el-input__prefix"><div class="hot-search-list" data-v-225dea38="" style="transition: transform 2s; transform: translate(0px, -216px);"><div data-v-225dea38="" class="list-item">
                    滴滴
                </div><div data-v-225dea38="" class="list-item">
                    拼多多
                </div><div data-v-225dea38="" class="list-item">
                    招银网络
                </div><div data-v-225dea38="" class="list-item">
                    华为
                </div><div data-v-225dea38="" class="list-item">
                    携程
                </div><div data-v-225dea38="" class="list-item">
                    荣耀
                </div><div data-v-225dea38="" class="list-item">
                    美团
                </div><div data-v-225dea38="" class="list-item">
                    招银网络科技
                </div><div data-v-225dea38="" class="list-item">
                    蚂蚁
                </div><div data-v-225dea38="" class="list-item">
                    得物笔试
                </div><div data-v-225dea38="" class="list-item">
                    滴滴
                </div></div><!----></span><span class="el-input__suffix"><span class="el-input__suffix-inner"><div class="ai-search" data-v-225dea38=""><div class="nc-cus-search-suffix" style="padding-right:0;" data-v-225dea38=""><span tagtype="span" aria-label="Sousuo001" class="ncicon  ncicon-bleed" style="margin-right:12px;" data-v-79ba69ea="" data-v-225dea38=""><svg focusable="false" viewBox="0 0 1024 1024" fill="currentColor" width="16" height="16" aria-hidden="true" data-v-79ba69ea=""><g fill="currentColor" fill-rule="nonzero"><path d="M473.5 65C247.8925 65 65 247.8925 65 473.5S247.8925 882 473.5 882 882 699.1075 882 473.5 699.1075 65 473.5 65zm0 96C646.0881 161 786 300.9119 786 473.5S646.0881 786 473.5 786 161 646.0881 161 473.5 300.9119 161 473.5 161z"></path><path d="M699.0589 699.0589c18.5577-18.5577 48.5304-18.7433 67.3164-.5568l.5658.5568 178 178c18.7452 18.7451 18.7452 49.137 0 67.8822-18.5577 18.5577-48.5304 18.7433-67.3164.5568l-.5658-.5568-178-178c-18.7452-18.7451-18.7452-49.137 0-67.8822z"></path></g></svg></span> <div class="search-suffix-vertical" style="margin-right:0;" data-v-225dea38=""></div></div> <div class="ai-search-logo" data-v-225dea38=""><img src="./最全Linux驱动开发八股文（七） - 牛客网_files/2024122017346774778203989.png" alt="" srcset="" style="width:47px;height:20px;" data-v-225dea38=""></div></div><!----><!----><!----><!----></span><!----></span><!----><!----></div><div role="region" class="el-autocomplete-suggestion el-popper search-suggestion-list" style="width:;display:none;"><div class="el-scrollbar nowcoder-custom"><div class="el-autocomplete-suggestion__wrap el-scrollbar__wrap" style="margin-bottom: -8px; margin-right: -8px;"><ul class="el-scrollbar__view el-autocomplete-suggestion__list" role="listbox" id="el-autocomplete-5738"></ul></div><div class="el-scrollbar__bar is-horizontal"><div class="el-scrollbar__thumb" style="transform: translateX(0%);"></div></div><div class="el-scrollbar__bar is-vertical"><div class="el-scrollbar__thumb" style="transform: translateY(0%);"></div></div></div></div></div> <div class="head-search-zoom-container new-head-search-zoom-container" style="display:none;" data-v-225dea38=""><div class="tw-mt-2" data-v-225dea38=""><!----> <div data-v-225dea38="" style="margin-top: 2px; padding: 0px 4px;"><div data-v-225dea38="" class="hot-search-title">猜你想搜</div> <div data-v-225dea38="" class="list-style"><div data-v-225dea38="" class="list-item-style transition-ease-2">
                            滴滴
                        </div><div data-v-225dea38="" class="list-item-style transition-ease-2">
                            拼多多
                        </div><div data-v-225dea38="" class="list-item-style transition-ease-2">
                            招银网络
                        </div><div data-v-225dea38="" class="list-item-style transition-ease-2">
                            华为
                        </div><div data-v-225dea38="" class="list-item-style transition-ease-2">
                            携程
                        </div><div data-v-225dea38="" class="list-item-style transition-ease-2">
                            荣耀
                        </div><div data-v-225dea38="" class="list-item-style transition-ease-2">
                            美团
                        </div><div data-v-225dea38="" class="list-item-style transition-ease-2">
                            招银网络科技
                        </div><div data-v-225dea38="" class="list-item-style transition-ease-2">
                            蚂蚁
                        </div><div data-v-225dea38="" class="list-item-style transition-ease-2">
                            得物笔试
                        </div></div></div> <div data-v-225dea38="" style="margin-top: 2px; padding: 0px 4px;"><div data-v-225dea38="" class="hot-search-title tw-flex tw-items-center">
                        校招日程<span data-v-79ba69ea="" data-v-225dea38="" tagtype="span" class="ncicon tw-ml-1  ncicon-bleed" aria-label="Redu001"><svg data-v-79ba69ea="" focusable="false" viewBox="0 0 1024 1024" fill="currentColor" width="12" height="12" aria-hidden="true"><defs><lineargradient id="eoabpxgqel" x1="29.364%" x2="81.5363%" y1="-24.8091%" y2="100%"><stop offset="0%" stop-color="#FF9F37"></stop><stop offset="99.97%" stop-color="#F92A27"></stop></lineargradient></defs><path fill="url(#eoabpxgqel)" fill-rule="nonzero" d="M245.9903 1.186a8.1175 8.1175 0 0 1 8.2143-.138l41.6807 24.5195c57.062 33.6635 102.7632 81.928 135.6282 143.8718 39.7627 74.48 57.8735 142.95 54.185 203.6403a5.8983 5.8983 0 0 0 1.9918 4.867 5.571 5.571 0 0 0 4.3525 1.4748 6.2715 6.2715 0 0 0 4.1311-1.991c21.283-23.7083 36.3323-47.7852 44.484-71.3829l13.0944-37.6087a8.1505 8.1505 0 0 1 5.6798-5.162 8.154 8.154 0 0 1 7.4515 1.8436l29.361 26.916a350.3552 350.3552 0 0 1 83.5826 116.1447C699.93 453.2378 710 501.023 710 550.2093c.0969 93.5791-37.4068 183.2768-104.0915 248.9551a351.6027 351.6027 0 0 1-112.8698 75.2912 356.7534 356.7534 0 0 1-61.2226 19.3034 159.417 159.417 0 0 0 36.9762-27.3884c30.243-29.781 47.2516-70.4532 47.2077-112.8854 0-22.303-4.567-43.9705-13.684-64.4009a158.8649 158.8649 0 0 0-37.9065-52.6642l-13.3158-12.2048a3.6985 3.6985 0 0 0-3.3794-.8359 3.6962 3.6962 0 0 0-2.576 2.3406l-5.9385 17.0532c-3.697 10.7-10.5222 21.6174-20.1744 32.3676a2.8445 2.8445 0 0 1-1.8736.9028 2.5269 2.5269 0 0 1-1.974-.6687 2.6743 2.6743 0 0 1-.9033-2.2069c1.6728-27.5192-6.5408-58.566-24.574-92.338-14.905-28.0876-35.6315-49.9725-61.5103-65.2368l-18.903-11.118a3.682 3.682 0 0 0-3.7254.0626 3.6776 3.6776 0 0 0-1.7616 3.2812l1.0037 21.935c.6859 14.9968-1.0539 28.2549-5.169 39.2893a130.3383 130.3383 0 0 1-21.496 37.2495c-6.4906 7.8578-13.7675 14.9466-21.7302 21.0657a161.2231 161.2231 0 0 0-45.8692 55.5566c-20.5999 41.5477-22.0234 90.0133-3.8977 132.6972 14.4106 33.5552 39.7605 61.0533 71.687 78.1757a355.0208 355.0208 0 0 1-61.4524-19.443c-84.9195-35.4725-152.7011-102.58-189.0017-187.1219C-12.092 593.089-8.953 486.204 36.469 394.5755c24.0373-47.9437 58.6137-89.8303 101.1403-122.5233 17.5575-13.495 33.6027-29.1284 47.9143-46.4579a287.4584 287.4584 0 0 0 47.398-82.1492c9.0738-24.3351 12.91-53.574 11.3976-86.6476l-2.213-48.3752c-.1127-2.9375 1.3733-5.706 3.8841-7.2363z" transform="translate(157 65)"></path></svg></span></div> <div data-v-225dea38="" class="list-style"><div data-v-225dea38="" class="list-item-style transition-ease-2 tw-flex tw-items-center"><img data-v-225dea38="" src="./最全Linux驱动开发八股文（七） - 牛客网_files/企业微信截图_20230727172519.png" class="tw-w-4 tw-h-4 tw-mr-1" style="border-radius: 50%;">硅谷数模半导体
                        </div><div data-v-225dea38="" class="list-item-style transition-ease-2 tw-flex tw-items-center"><img data-v-225dea38="" src="./最全Linux驱动开发八股文（七） - 牛客网_files/移动端名企banner置顶配套企业-1002.png" class="tw-w-4 tw-h-4 tw-mr-1" style="border-radius: 50%;">26届实习交流
                        </div><div data-v-225dea38="" class="list-item-style transition-ease-2 tw-flex tw-items-center"><img data-v-225dea38="" src="./最全Linux驱动开发八股文（七） - 牛客网_files/didi.png" class="tw-w-4 tw-h-4 tw-mr-1" style="border-radius: 50%;">滴滴
                        </div><div data-v-225dea38="" class="list-item-style transition-ease-2 tw-flex tw-items-center"><img data-v-225dea38="" src="./最全Linux驱动开发八股文（七） - 牛客网_files/汇丰科技1.png" class="tw-w-4 tw-h-4 tw-mr-1" style="border-radius: 50%;">汇丰科技
                        </div><div data-v-225dea38="" class="list-item-style transition-ease-2 tw-flex tw-items-center"><img data-v-225dea38="" src="./最全Linux驱动开发八股文（七） - 牛客网_files/移动端名企banner置顶配套企业-1002(1).png" class="tw-w-4 tw-h-4 tw-mr-1" style="border-radius: 50%;">26届实习
                        </div></div></div></div></div></div> <!----> <div class="header-publish-job-wrap tw-mx-5" data-v-7849f2ec=""><div class="el-dropdown" data-v-291b367c="" data-v-7849f2ec=""><a href="https://nowpick.nowcoder.com/?channel=zz_guide_unlogin" class="recruit tw-flex tw-items-center tw-cursor-pointer el-dropdown-selfdefine" data-v-7849f2ec="" aria-haspopup="list" aria-controls="dropdown-menu-7472" role="button" tabindex="0">
                        我要招人<span tagtype="span" aria-label="Zhankai001" class="ncicon tw-ml-1  ncicon-bleed" data-v-79ba69ea="" data-v-7849f2ec=""><svg focusable="false" viewBox="0 0 1024 1024" fill="currentColor" width="14" height="14" aria-hidden="true" data-v-79ba69ea=""><path fill="currentColor" fill-rule="nonzero" d="M828.0447 281.2004c17.5625-19.8576 47.8974-21.7181 67.755-4.1557 19.659 17.3869 21.679 47.292 4.6766 67.1561l-.521.5988L571.9255 715.697c-29.2708 33.096-79.829 36.1968-112.925 6.926a80 80 0 0 1-6.1988-6.115l-.7272-.811-328.0298-370.8974c-17.5624-19.8575-15.7019-50.1924 4.1557-67.7549 19.659-17.3868 49.5868-15.7372 67.2242 3.5653l.5307.5904L511.999 638.545l316.0457-357.3446z"></path></svg></span></a> <ul class="el-dropdown-menu el-popper" style="display:none;" data-v-291b367c="" id="dropdown-menu-7472"><li tabindex="-1" class="el-dropdown-menu__item dropdown-item-publish-job important-padding" data-v-291b367c=""><!----><a href="https://nowpick.nowcoder.com/?channel=zz_guide_unlogin" class="tw-flex tw-items-center" data-v-291b367c=""><img src="./最全Linux驱动开发八股文（七） - 牛客网_files/headerPublishJob.png" class="tw-w-[38px] tw-mr-2 tw-flex-none" data-v-291b367c=""> <div class="tw-flex-auto" data-v-291b367c=""><div style="font-size:16px;line-height:16px;font-weight:500;" data-v-291b367c="">
                        发布职位
                    </div> <div class="tw-mt-2 tw-text-gray-600" style="font-size:12px;line-height:12px;" data-v-291b367c="">
                        发布职位、邀约牛人
                    </div></div> <span tagtype="span" aria-label="RightToMore" class="ncicon tw-flex-none  ncicon-bleed" data-v-79ba69ea="" data-v-291b367c=""><svg focusable="false" viewBox="0 0 12 12" fill="currentColor" width="12" height="12" aria-hidden="true" data-v-79ba69ea=""><defs><filter color-interpolation-filters="auto"><fecolormatrix in="SourceGraphic" values="0 0 0 0 0.647059 0 0 0 0 0.647059 0 0 0 0 0.647059 0 0 0 1.000000 0"></fecolormatrix></filter></defs><g fill="none" fill-rule="evenodd"><path fill="currentColor" d="M4.4535.6056a.5273.5273 0 0 1 .7457 0l5.0066 5.0048a.5271.5271 0 0 1 .1527.5215.5248.5248 0 0 1-.1457.249l-5.0132 5.0116a.5273.5273 0 0 1-.7458-.7457l4.6466-4.6472-4.647-4.6482a.5275.5275 0 0 1-.061-.6727z"></path></g></svg></span></a></li> <li tabindex="-1" class="el-dropdown-menu__item dropdown-item-more-solution tw-mt-2 important-padding" data-v-291b367c=""><!----><a href="https://hr.nowcoder.com/?utm_channel=nkweb_homepage" class="tw-flex tw-items-center" data-v-291b367c=""><img src="./最全Linux驱动开发八股文（七） - 牛客网_files/headerMoreSolution.png" class="tw-w-[38px] tw-mr-2 tw-flex-none" data-v-291b367c=""> <div class="tw-flex-auto" data-v-291b367c=""><div style="font-size:16px;line-height:16px;font-weight:500;" data-v-291b367c="">
                        更多企业解决方案
                    </div> <div class="tw-mt-2 tw-text-gray-600" style="font-size:12px;line-height:12px;" data-v-291b367c="">
                        AI面试、笔试、校招、雇品
                    </div></div> <span tagtype="span" aria-label="RightToMore" class="ncicon tw-flex-none  ncicon-bleed" data-v-79ba69ea="" data-v-291b367c=""><svg focusable="false" viewBox="0 0 12 12" fill="currentColor" width="12" height="12" aria-hidden="true" data-v-79ba69ea=""><defs><filter color-interpolation-filters="auto"><fecolormatrix in="SourceGraphic" values="0 0 0 0 0.647059 0 0 0 0 0.647059 0 0 0 0 0.647059 0 0 0 1.000000 0"></fecolormatrix></filter></defs><g fill="none" fill-rule="evenodd"><path fill="currentColor" d="M4.4535.6056a.5273.5273 0 0 1 .7457 0l5.0066 5.0048a.5271.5271 0 0 1 .1527.5215.5248.5248 0 0 1-.1457.249l-5.0132 5.0116a.5273.5273 0 0 1-.7458-.7457l4.6466-4.6472-4.647-4.6482a.5275.5275 0 0 1-.061-.6727z"></path></g></svg></span></a></li> <li tabindex="-1" class="el-dropdown-menu__item dropdown-item-more-solution tw-mt-2 important-padding" data-v-291b367c=""><!----><a href="https://hr.nowcoder.com/product/interview?utm_channel=nkweb_homepage_AIinterview" class="tw-flex tw-items-center" data-v-291b367c=""><img src="./最全Linux驱动开发八股文（七） - 牛客网_files/2025031817422668458742400.png" class="tw-w-[38px] tw-mr-2 tw-flex-none" data-v-291b367c=""> <div class="tw-flex-auto" data-v-291b367c=""><div style="font-size:16px;line-height:16px;font-weight:500;" data-v-291b367c="">
                        HR免费试用AI面试
                    </div> <div class="tw-mt-2 tw-text-gray-600" style="font-size:12px;line-height:12px;" data-v-291b367c="">
                        最新面试提效必备
                    </div></div> <span tagtype="span" aria-label="RightToMore" class="ncicon tw-flex-none  ncicon-bleed" data-v-79ba69ea="" data-v-291b367c=""><svg focusable="false" viewBox="0 0 12 12" fill="currentColor" width="12" height="12" aria-hidden="true" data-v-79ba69ea=""><defs><filter color-interpolation-filters="auto"><fecolormatrix in="SourceGraphic" values="0 0 0 0 0.647059 0 0 0 0 0.647059 0 0 0 0 0.647059 0 0 0 1.000000 0"></fecolormatrix></filter></defs><g fill="none" fill-rule="evenodd"><path fill="currentColor" d="M4.4535.6056a.5273.5273 0 0 1 .7457 0l5.0066 5.0048a.5271.5271 0 0 1 .1527.5215.5248.5248 0 0 1-.1457.249l-5.0132 5.0116a.5273.5273 0 0 1-.7458-.7457l4.6466-4.6472-4.647-4.6482a.5275.5275 0 0 1-.061-.6727z"></path></g></svg></span></a></li></ul></div></div> <div class="right" data-v-7849f2ec=""><div class="icon-style" style="margin-right: 20px;" data-v-7849f2ec=""><a href="https://www.nowcoder.com/app" style="font-size: 16px;" data-v-7849f2ec=""><span tagtype="span" aria-label="Xiazaiapp001" class="ncicon el-tooltip  ncicon-bleed" data-v-79ba69ea="" data-v-7849f2ec="" aria-describedby="el-tooltip-3516" tabindex="0"><svg focusable="false" viewBox="0 0 1024 1024" fill="currentColor" width="24" height="24" aria-hidden="true" data-v-79ba69ea=""><g fill="currentColor" fill-rule="nonzero"><path d="M815 584H209c-26.5097 0-48 21.4903-48 48v238.2857C161 918.2337 198.925 958 246.875 958h530.25C825.0755 958 863 918.2338 863 870.2857V632c0-26.5097-21.4903-48-48-48zm-48 96v182H257V680h510z"></path><path d="M777.125 66c47.508 0 85.1162 39.0661 85.8637 86.409l.0113 1.4372V632h-96V162H257v470h-96V153.8462c0-47.507 37.1336-87.0482 84.4384-87.8343L246.875 66h530.25zM550 739c17.6731 0 32 14.3269 32 32 0 17.4964-14.0418 31.7131-31.4708 31.9957L550 803h-75c-17.6731 0-32-14.3269-32-32 0-17.4964 14.0418-31.7131 31.4708-31.9957L475 739h75z"></path></g></svg></span></a></div> <button type="button" class="el-button loginRegisterBtn el-button--default" data-v-7849f2ec=""><!----><!----><span class=""><a href="javascript:void(0);" style="padding:10px 0 10px 8px;" data-v-7849f2ec="">
                        登录
                    </a>
                    /
                    <a href="javascript:void(0);" style="padding:10px 8px 10px 0;" data-v-7849f2ec="">
                        注册
                    </a></span></button></div></nav></header></header> <main class="el-main tw-m-auto !tw-overflow-visible tw-w-full tw-min-h-[100vh]"><div data-v-1884ea36="" data-v-7912e35c=""><div class="tw-sticky tw-shadow-sm tw-top-0 tw-z-[100] tw-pl-[338px] tw-h-14 tw-w-full tw-bg-white tw-flex tw-justify-center" data-v-1884ea36=""><a href="https://www.nowcoder.com/" data-v-1884ea36=""><img src="./最全Linux驱动开发八股文（七） - 牛客网_files/34dcb076b9cbc6f94925.png" width="89" height="24" class="tw-h-6 tw-absolute tw-top-4 tw-left-5" data-v-1884ea36=""></a> <div class="tw-my-0 tw-h-14 tw-flex tw-items-center transition-ease-2" data-v-cc21bc98="" data-v-1884ea36=""><!----> <div class="tw-mx-4 tw-text-gray-800 tw-text-size-base-pure" data-v-cc21bc98=""><!----></div> <!----></div></div> <div class="tw-flex tw-min-h-[calc(100vh-56px)] tw-pl-[338px] tw-relative" data-v-1884ea36=""><div class="tw-w-[338px] transition-ease-2 tw-mr-5 tw-bg-white tw-fixed tw-top-14 tw-left-0 tw-h-[calc(100vh-56px)] tw-overflow-y-auto" data-v-66cdd876="" data-v-1884ea36=""><div data-v-5d750ba8="" data-v-66cdd876=""><div class="tw-mb-4" style="background:url(https://static.nowcoder.com/fe/file/site/www-web/prod/1.0.425/imageAssets/1658a2eb4c4c9d1eb902.png);" data-v-5d750ba8=""><div class="tw-pt-7 tw-pl-5 tw-pr-4 tw-flex tw-items-center" data-v-5d750ba8=""><img src="./最全Linux驱动开发八股文（七） - 牛客网_files/ACA1CE60B1D7A16BE5175BC44FF3420A" class="tw-pr-4 tw-w-[120px] tw-flex-none" data-v-5d750ba8=""> <div class="tw-pt-2.5" data-v-5d750ba8=""><div class="tw-text-size-title-lg tw-text-gray-900 tw-font-medium tw-mb-4" data-v-5d750ba8="">拉依达的Linux驱动八股文</div> <div class="tw-text-gray-600 tw-text-sm-pure tw-mb-5" data-v-5d750ba8=""><span data-v-5d750ba8="">16篇文章</span><span class="tw-mx-2" data-v-5d750ba8="">|</span><span data-v-5d750ba8="">1.2W人学习</span></div> <div data-v-5d750ba8="" class="transition-ease-2 tw-flex tw-h-5 tw-w-[180px] tw-items-center"><div data-v-5d750ba8="" title="拉依达的嵌入式小屋" class="tw-flex-1 tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap tw-text-size-base-pure tw-text-gray-800 tw-cursor-default">拉依达的嵌入式小屋</div> <button data-v-5d750ba8="" type="button" class="el-button tw-h-5 tw-cursor-pointer tw-border-1 tw-border-gray-300 tw-rounded-base tw-flex tw-justify-center tw-items-center tw-px-2 tw-text-sm-pure tw-text-gray-600 tw-mx-3 el-button--default is-plain"><!----><!----><span class="">关注</span></button></div></div></div></div> <div class="tw-px-5" data-v-5d750ba8=""><button type="button" class="el-button tw-w-[298px] tw-h-13 tw-mb-5 tw-text-size-title-lg-pure el-button--primary is-plain" data-v-5d750ba8=""><!----><!----><span class="">
            立即订阅<!----></span></button> <div data-v-5d750ba8="" class="tw-mb-3"><div data-v-5d750ba8="" class="tw-overflow-hidden tw-group tw-mr-0 transition-ease-2 hover:tw-bg-gray-100 tw-cursor-pointer tw-h-10 tw-rounded-lg tw-flex tw-items-center tw-px-5"><span data-v-5d750ba8="" class="tw-flex-1 tw-text-size-base-pure tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap tw-text-gray-700">最全Linux驱动开发八股文（一）</span> <!----></div><div data-v-5d750ba8="" class="tw-overflow-hidden tw-group tw-mr-0 transition-ease-2 hover:tw-bg-gray-100 tw-cursor-pointer tw-h-10 tw-rounded-lg tw-flex tw-items-center tw-px-5"><span data-v-5d750ba8="" class="tw-flex-1 tw-text-size-base-pure tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap tw-text-gray-700">最全Linux驱动开发八股文（二）</span> <!----></div><div data-v-5d750ba8="" class="tw-overflow-hidden tw-group tw-mr-0 transition-ease-2 hover:tw-bg-gray-100 tw-cursor-pointer tw-h-10 tw-rounded-lg tw-flex tw-items-center tw-px-5"><span data-v-5d750ba8="" class="tw-flex-1 tw-text-size-base-pure tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap tw-text-gray-700">最全Linux驱动开发八股文（三）</span> <!----></div><div data-v-5d750ba8="" class="tw-overflow-hidden tw-group tw-mr-0 transition-ease-2 hover:tw-bg-gray-100 tw-cursor-pointer tw-h-10 tw-rounded-lg tw-flex tw-items-center tw-px-5"><span data-v-5d750ba8="" class="tw-flex-1 tw-text-size-base-pure tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap tw-text-gray-700">最全Linux驱动开发八股文（四）</span> <!----></div><div data-v-5d750ba8="" class="tw-overflow-hidden tw-group tw-mr-0 transition-ease-2 hover:tw-bg-gray-100 tw-cursor-pointer tw-h-10 tw-rounded-lg tw-flex tw-items-center tw-px-5"><span data-v-5d750ba8="" class="tw-flex-1 tw-text-size-base-pure tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap tw-text-gray-700">最全Linux驱动开发八股文（五）</span> <!----></div><div data-v-5d750ba8="" class="tw-overflow-hidden tw-group tw-mr-0 transition-ease-2 hover:tw-bg-gray-100 tw-cursor-pointer tw-h-10 tw-rounded-lg tw-flex tw-items-center tw-px-5"><span data-v-5d750ba8="" class="tw-flex-1 tw-text-size-base-pure tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap tw-text-gray-700">最全Linux驱动开发八股文（六）</span> <!----></div><div data-v-5d750ba8="" class="tw-overflow-hidden tw-group tw-mr-0 transition-ease-2 hover:tw-bg-gray-100 tw-cursor-pointer tw-h-10 tw-rounded-lg tw-flex tw-items-center tw-px-5"><span data-v-5d750ba8="" class="tw-flex-1 tw-text-size-base-pure tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap tw-text-green-500">最全Linux驱动开发八股文（七）</span> <!----></div><div data-v-5d750ba8="" class="tw-overflow-hidden tw-group tw-mr-0 transition-ease-2 hover:tw-bg-gray-100 tw-cursor-pointer tw-h-10 tw-rounded-lg tw-flex tw-items-center tw-px-5"><span data-v-5d750ba8="" class="tw-flex-1 tw-text-size-base-pure tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap tw-text-gray-700">最全Linux驱动开发八股文（八）</span> <!----></div><div data-v-5d750ba8="" class="tw-overflow-hidden tw-group tw-mr-0 transition-ease-2 hover:tw-bg-gray-100 tw-cursor-pointer tw-h-10 tw-rounded-lg tw-flex tw-items-center tw-px-5"><span data-v-5d750ba8="" class="tw-flex-1 tw-text-size-base-pure tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap tw-text-gray-700">最全Linux驱动开发八股文（九）</span> <!----></div><div data-v-5d750ba8="" class="tw-overflow-hidden tw-group tw-mr-0 transition-ease-2 hover:tw-bg-gray-100 tw-cursor-pointer tw-h-10 tw-rounded-lg tw-flex tw-items-center tw-px-5"><span data-v-5d750ba8="" class="tw-flex-1 tw-text-size-base-pure tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap tw-text-gray-700">最全Linux驱动开发八股文（十）</span> <!----></div><div data-v-5d750ba8="" class="tw-overflow-hidden tw-group tw-mr-0 transition-ease-2 hover:tw-bg-gray-100 tw-cursor-pointer tw-h-10 tw-rounded-lg tw-flex tw-items-center tw-px-5"><span data-v-5d750ba8="" class="tw-flex-1 tw-text-size-base-pure tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap tw-text-gray-700">最全Linux驱动开发八股文（十一）</span> <!----></div><div data-v-5d750ba8="" class="tw-overflow-hidden tw-group tw-mr-0 transition-ease-2 hover:tw-bg-gray-100 tw-cursor-pointer tw-h-10 tw-rounded-lg tw-flex tw-items-center tw-px-5"><span data-v-5d750ba8="" class="tw-flex-1 tw-text-size-base-pure tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap tw-text-gray-700">最全Linux驱动开发八股文（十二）</span> <!----></div><div data-v-5d750ba8="" class="tw-overflow-hidden tw-group tw-mr-0 transition-ease-2 hover:tw-bg-gray-100 tw-cursor-pointer tw-h-10 tw-rounded-lg tw-flex tw-items-center tw-px-5"><span data-v-5d750ba8="" class="tw-flex-1 tw-text-size-base-pure tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap tw-text-gray-700">最全Linux驱动开发八股文（十三）</span> <!----></div><div data-v-5d750ba8="" class="tw-overflow-hidden tw-group tw-mr-0 transition-ease-2 hover:tw-bg-gray-100 tw-cursor-pointer tw-h-10 tw-rounded-lg tw-flex tw-items-center tw-px-5"><span data-v-5d750ba8="" class="tw-flex-1 tw-text-size-base-pure tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap tw-text-gray-700">最全Linux驱动开发八股文（十四）</span> <!----></div><div data-v-5d750ba8="" class="tw-overflow-hidden tw-group tw-mr-0 transition-ease-2 hover:tw-bg-gray-100 tw-cursor-pointer tw-h-10 tw-rounded-lg tw-flex tw-items-center tw-px-5"><span data-v-5d750ba8="" class="tw-flex-1 tw-text-size-base-pure tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap tw-text-gray-700">最全Linux驱动开发八股文（十五）</span> <!----></div><div data-v-5d750ba8="" class="tw-overflow-hidden tw-group tw-mr-0 transition-ease-2 hover:tw-bg-gray-100 tw-cursor-pointer tw-h-10 tw-rounded-lg tw-flex tw-items-center tw-px-5"><span data-v-5d750ba8="" class="tw-flex-1 tw-text-size-base-pure tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap tw-text-gray-700">最全Linux驱动开发八股文（十六）</span> <!----></div></div></div> <div class="tw-border-b-1 tw-border-gray-200 tw-mx-5" data-v-5d750ba8=""></div></div> <div class="tw-px-2.5" data-v-512ebd3e="" data-v-66cdd876=""><div class="tw-mx-2.5 tw-mb-2 tw-text-size-head-pure tw-font-medium tw-text-gray-900 tw-border-b-1 tw-border-gray-200 tw-pt-[19px] tw-pb-4" data-v-512ebd3e="">目录</div> <div data-v-512ebd3e="" class="tw-cursor-pointer tw-rounded-lg tw-pl-2.5 tw-pr-4 hover:tw-bg-gray-100 tw-flex tw-items-center tw-justify-between tw-text-size-base-pure tw-text-gray-900 tw-h-[38px] tw-mb-2"><span data-v-512ebd3e="" class="transition-ease-2 tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap  tw-text-green-500 " style="margin-left: 0px;">七、pinctrl子系统</span> <span data-v-79ba69ea="" data-v-512ebd3e="" tagtype="span" class="ncicon tw-text-gray-600  ncicon-bleed" aria-label="Zhankai002" style="transform: rotate(90deg);"><svg data-v-79ba69ea="" focusable="false" viewBox="0 0 1024 1024" fill="currentColor" width="14" height="14" aria-hidden="true"><path fill="currentColor" fill-rule="nonzero" d="M289.3514 187.8043c-19.8576-17.5625-21.7181-47.8974-4.1557-67.755 17.3869-19.659 47.292-21.679 67.1561-4.6767l.5989.521L723.848 443.9236c33.096 29.2708 36.1968 79.829 6.926 112.9249a80 80 0 0 1-6.115 6.1989l-.811.7271-370.8973 328.0299c-19.8576 17.5624-50.1925 15.7019-67.755-4.1557-17.3868-19.659-15.7371-49.5868 3.5654-67.2242l.5903-.5307L646.696 503.85 289.3514 187.8043z"></path></svg></span></div><div data-v-512ebd3e="" class="tw-cursor-pointer tw-rounded-lg tw-pl-2.5 tw-pr-4 hover:tw-bg-gray-100 tw-flex tw-items-center tw-justify-between tw-text-size-base-pure tw-text-gray-900 tw-h-[38px] tw-mb-2"><span data-v-512ebd3e="" class="transition-ease-2 tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap tw-text-gray-900" style="margin-left: 20px;">7.1 pinctrl 子系统主要工作内容：</span> <!----></div><div data-v-512ebd3e="" class="tw-cursor-pointer tw-rounded-lg tw-pl-2.5 tw-pr-4 hover:tw-bg-gray-100 tw-flex tw-items-center tw-justify-between tw-text-size-base-pure tw-text-gray-900 tw-h-[38px] tw-mb-2"><span data-v-512ebd3e="" class="transition-ease-2 tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap tw-text-gray-900" style="margin-left: 20px;">7.2 pinctrl的设备树设置</span> <!----></div><div data-v-512ebd3e="" class="tw-cursor-pointer tw-rounded-lg tw-pl-2.5 tw-pr-4 hover:tw-bg-gray-100 tw-flex tw-items-center tw-justify-between tw-text-size-base-pure tw-text-gray-900 tw-h-[38px] tw-mb-2"><span data-v-512ebd3e="" class="transition-ease-2 tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap tw-text-gray-900" style="margin-left: 20px;">7.3 设备树中添加pinctrl模板</span> <!----></div><div data-v-512ebd3e="" class="tw-cursor-pointer tw-rounded-lg tw-pl-2.5 tw-pr-4 hover:tw-bg-gray-100 tw-flex tw-items-center tw-justify-between tw-text-size-base-pure tw-text-gray-900 tw-h-[38px] tw-mb-2"><span data-v-512ebd3e="" class="transition-ease-2 tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap tw-text-gray-900" style="margin-left: 0px;">八、GPIO子系统</span> <span data-v-79ba69ea="" data-v-512ebd3e="" tagtype="span" class="ncicon tw-text-gray-600  ncicon-bleed" aria-label="Zhankai002" style="transform: rotate(90deg);"><svg data-v-79ba69ea="" focusable="false" viewBox="0 0 1024 1024" fill="currentColor" width="14" height="14" aria-hidden="true"><path fill="currentColor" fill-rule="nonzero" d="M289.3514 187.8043c-19.8576-17.5625-21.7181-47.8974-4.1557-67.755 17.3869-19.659 47.292-21.679 67.1561-4.6767l.5989.521L723.848 443.9236c33.096 29.2708 36.1968 79.829 6.926 112.9249a80 80 0 0 1-6.115 6.1989l-.811.7271-370.8973 328.0299c-19.8576 17.5624-50.1925 15.7019-67.755-4.1557-17.3868-19.659-15.7371-49.5868 3.5654-67.2242l.5903-.5307L646.696 503.85 289.3514 187.8043z"></path></svg></span></div><div data-v-512ebd3e="" class="tw-cursor-pointer tw-rounded-lg tw-pl-2.5 tw-pr-4 hover:tw-bg-gray-100 tw-flex tw-items-center tw-justify-between tw-text-size-base-pure tw-text-gray-900 tw-h-[38px] tw-mb-2"><span data-v-512ebd3e="" class="transition-ease-2 tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap tw-text-gray-900" style="margin-left: 20px;">8.1 GPIO子系统工作内容</span> <!----></div><div data-v-512ebd3e="" class="tw-cursor-pointer tw-rounded-lg tw-pl-2.5 tw-pr-4 hover:tw-bg-gray-100 tw-flex tw-items-center tw-justify-between tw-text-size-base-pure tw-text-gray-900 tw-h-[38px] tw-mb-2"><span data-v-512ebd3e="" class="transition-ease-2 tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap tw-text-gray-900" style="margin-left: 20px;">8.2 GPIO子系统设备树设置</span> <!----></div><div data-v-512ebd3e="" class="tw-cursor-pointer tw-rounded-lg tw-pl-2.5 tw-pr-4 hover:tw-bg-gray-100 tw-flex tw-items-center tw-justify-between tw-text-size-base-pure tw-text-gray-900 tw-h-[38px] tw-mb-2"><span data-v-512ebd3e="" class="transition-ease-2 tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap tw-text-gray-900" style="margin-left: 20px;">8.3 API函数</span> <!----></div><div data-v-512ebd3e="" class="tw-cursor-pointer tw-rounded-lg tw-pl-2.5 tw-pr-4 hover:tw-bg-gray-100 tw-flex tw-items-center tw-justify-between tw-text-size-base-pure tw-text-gray-900 tw-h-[38px] tw-mb-2"><span data-v-512ebd3e="" class="transition-ease-2 tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap tw-text-gray-900" style="margin-left: 20px;">8.4 GPIO相关OF函数</span> <!----></div><div data-v-512ebd3e="" class="tw-cursor-pointer tw-rounded-lg tw-pl-2.5 tw-pr-4 hover:tw-bg-gray-100 tw-flex tw-items-center tw-justify-between tw-text-size-base-pure tw-text-gray-900 tw-h-[38px] tw-mb-2"><span data-v-512ebd3e="" class="transition-ease-2 tw-overflow-hidden tw-overflow-ellipsis tw-whitespace-nowrap tw-text-gray-900" style="margin-left: 20px;">8.5 pinctrl和gpio子系统使用程序框架</span> <!----></div></div></div> <div class="tw-flex-1 tw-p-5 tw-h-[calc(100vh-56px)] tw-overflow-y-scroll" data-v-1aa8bdfc="" data-v-1884ea36=""><div data-v-1aa8bdfc="" class="tw-rounded-xl tw-bg-white tw-pt-6"><div class="tw-text-center tw-mb-7 tw-font-semibold tw-text-gray-800 tw-text-size-title-lg-pure">最全Linux驱动开发八股文（七）</div> <!----> <div class="nc-post-content tw-pl-10 tw--mt-5 tw-pr-20"><p>你好，我是拉依达。</p>
<p>这是我的<strong>Linux驱动开发八股文详细解析系列</strong>。</p>
<p>本系列最开始是我在csdn上更新的文章，目前已经是<strong>csdn搜索“linux驱动”综合推荐第一名</strong>，累计阅读次数<strong>4w</strong>次。</p>
<p>全文总字数近8w字，是<strong>目前全网最全面，最清晰的入门linux驱动学习资料</strong>。</p>
<p>现重新对内容进行整理，希望可以帮助到更多学习嵌入式的同学。</p>
<blockquote>
<p><strong>【下面是拉依达推荐学习相关专栏：】</strong> <br>
一、Linux驱动学习专栏：<a href="https://www.nowcoder.com/creation/manager/columnDetail/jLN8b0">拉依达的Linux驱动八股文 - 牛客网</a> <br>
二、Linux应用学习专栏：<a href="https://www.nowcoder.com/creation/manager/columnDetail/MKaN1V">拉依达的Linux应用八股文 - 牛客网</a> <br>
<strong>【我的嵌入式学习和校招经验】</strong>
<a href="https://blog.csdn.net/qq_44814825/article/details/139737007?spm=1001.2014.3001.5501" rel="nofollow noopener noreferrer">拉依达的嵌入式学习和秋招经验-CSDN博客</a> <br>
<strong>嵌入式学习规划/就业经验指导，可私信咨询</strong></p>
</blockquote>
<p>———————————————————————————————————————————————————</p>
<h1 id="zu0uui">七、pinctrl子系统</h1>
<p>Linux 内核提供了 <strong>pinctrl 子系统和 gpio 子系统</strong>用于 <strong>GPIO 驱动</strong>。</p>
<h2 id="jlrm1u">7.1 pinctrl 子系统主要工作内容：</h2>
<ul>
<li><strong>获取设备树中 pin 信息</strong>，<strong>管理系统中所有的可以控制的 pin</strong>， 在系统初始化的时候， 枚举所有可以控制的 pin， 并标识这些 pin</li>
<li>根据获取到的 pin 信息来<strong>设置 pin 的复用功能</strong>，对于 SOC 而言， 其引脚除了配置成普通的 GPIO 之外，<strong>若干个引脚还可以组成一个 pin group</strong>， 形成特定的功能</li>
<li>根据获取到的 pin 信息来<strong>设置 pin 的电气特性</strong>，比如上/下拉、速度、驱动能力等。</li>
</ul>
<p>开发时只需要在<strong>设备树</strong>里面<strong>设置好某个 pin 的相关属性即可</strong>，其他的初始化工作均由 pinctrl 子系统来完成。</p>
<p><img alt="alt" src="./最全Linux驱动开发八股文（七） - 牛客网_files/554EAA165D93CD87A6FEB9565130CA5F"></p>
<h2 id="gvbnls">7.2 pinctrl的设备树设置</h2>
<p>在设备树里面创建一个节点来描述 PIN 的配置信息。pinctrl 子系统一般在<strong>iomuxc子节点下</strong>，所有需要配置用户自己的pinctrl需要在该节点下添加。
<strong>例</strong></p>
<pre class="prettyprint"><code class="language-cpp">iomuxc: iomuxc@020e0000 {
	compatible = "fsl,imx6ul-iomuxc";
	reg = &lt;0x020e0000 0x4000&gt;;
	pinctrl-names = "default";
	pinctrl-0 = &lt;&amp;pinctrl_hog_1&gt;;
	imx6ul-evk {
		pinctrl_hog_1: hoggrp-1 {
			fsl,pins = &lt;
				MX6UL_PAD_UART1_RTS_B__GPIO1_IO19 0x17059
				.......
			&gt;;
	};
......
}
</code></pre>
<ul>
<li>compatible 属性值为“fsl,imx6ul-iomuxc” ，</li>
<li>pinctrl_hog_1 子节点所使用的 PIN 配置信息，如UART1_RTS_B 的配置信息
<ul>
<li>UART1_RTS_B 这个 PIN 是作为 SD 卡的检测引脚</li>
<li>MX6UL_PAD_UART1_RTS_B__GPIO1_IO19，这是一个宏定义，表 示 将 UART1_RTS_B 这个 IO 复用为 GPIO1_IO19（复用属性）
<ul>
<li>此宏定义后面跟着 5 个数字，0x0090 0x031C 0x0000 0x5 0x0，含义是&lt;mux_reg conf_reg input_reg mux_mode input_val&gt;</li>
</ul>
</li>
<li>0x17059 就是 conf_reg 寄存器值 ， 设置一个 IO 的上/下拉、驱动能力和速度（电气属性）</li>
</ul>
</li>
</ul>
<h2 id="u93s9m">7.3 设备树中添加pinctrl模板</h2>
<ol>
<li>添加pinctrl设备结点
<strong>同一个外设的 PIN 都放到一个节点</strong>里面，在 <strong>iomuxc 节点</strong>中下添加“pinctrl_test”节点。<strong>节点前缀一定要为“pinctrl_”。</strong></li>
</ol>
<p>设备树是通过<strong>属性来保存信息</strong>的，因此需要<strong>添加一个属性</strong>，属性名字一定要为** fsl,pins **</p>
<pre class="prettyprint"><code class="language-cpp">&amp;iomuxc {
	pinctrl-names = "default";
	pinctrl-0 = &lt;&amp;pinctrl_hog_1&gt;;
	imx6ul-evk {
		......
			pinctrl_led: ledgrp{
						fsl,pins = &lt;
							MX6UL_PAD_GPIO1_IO03__GPIO1_IO03	0x10b0
						&gt;;
				};
		......
	};
</code></pre>
<ol start="2">
<li>添加具体设备节点，调用pinctrl信息</li>
</ol>
<p>在根节点“/”下创建 LED 灯节点，节点名为“gpioled”
只需要关注gpioled设备节点下的<strong>pinctrl-names  和 pinctrl-0 两条语句</strong>， 这两句就是<strong>引用</strong>在 <strong>iomuxc 中配置的 pinctrl 节点</strong></p>
<pre class="prettyprint"><code class="language-cpp">test {
    pinctrl-names = "default"， "wake up";
    pinctrl-0 = &lt;&amp;pinctrl_test&gt;;
    pinctrl-1 = &lt;&amp;pinctrl_test_2&gt;;
    /* 其他节点内容 */
};
</code></pre>
<ul>
<li>
<p>pinctrl-names = "default"， "wake up"; 设备的状态， 可以有多个状态， default 为状态 0， wake up 为状态 1。</p>
</li>
<li>
<p>pinctrl-0 = &lt;&amp;pinctrl_test&gt;;第 0 个状态所对应的引脚配置， 也就是 default 状态对应的引脚在 pin controller 里面定义好的节点 pinctrl_test里面的管脚配置。</p>
</li>
<li>
<p>pinctrl-1 = &lt;&amp;pinctrl_test_2&gt;;第 1 个状态所对应的引脚配置， 也就是 wake up 状态对应的引脚在 pin  controller 里面定义好的节点 pinctrl_test_2里面的管脚配置。</p>
</li>
</ul>
<p><strong>例</strong></p>
<pre class="prettyprint"><code class="language-cpp">gpioled {
		#address-cells = &lt;1&gt;;
		#size-cells = &lt;1&gt;;
		compatible = "songwei-gpioled";
		pinctrl-names = "default";
		pinctrl-0 = &lt;&amp;pinctrl_led&gt;;
		led-gpio = &lt;&amp;gpio1 3 GPIO_ACTIVE_LOW&gt;;
		status = "okay";
	};
</code></pre>
<ul>
<li>pinctrl-names = "default"; 设备的状态， 可以有多个状态， default 为状态 0。</li>
<li>pinctrl-0 属性设置 LED 灯所使用的 PIN 对应的 pinctrl 节点</li>
</ul>
<h1 id="xsggke">八、GPIO子系统</h1>
<p>当使用 pinctrl 子系统将引脚的复用设置为 GPIO，可以使用 <strong>GPIO 子系统来操作GPIO</strong></p>
<h2 id="1lx8ap">8.1 GPIO子系统工作内容</h2>
<p>通过 GPIO 子系统功能要实现：</p>
<ul>
<li>引脚功能的配置（设置为 GPIO，GPIO 的方向， 输入输出模式，读取/设置 GPIO 的值）</li>
<li>实现软硬件的分离（分离出硬件差异， 有厂商提供的底层支持； 软件分层。 驱动只需要调用接口 API 即可操作 GPIO）</li>
<li>iommu 内存管理（直接调用宏即可操作 GPIO）</li>
</ul>
<h2 id="c8aj95">8.2 GPIO子系统设备树设置</h2>
<p>在具体设备节点中添加GPIO信息</p>
<pre class="prettyprint"><code class="language-cpp">gpioled {
		#address-cells = &lt;1&gt;;
		#size-cells = &lt;1&gt;;
		compatible = "songwei-gpioled";
		pinctrl-names = "default";
		pinctrl-0 = &lt;&amp;pinctrl_led&gt;;
		//gpio信息
		led-gpio = &lt;&amp;gpio1 3 GPIO_ACTIVE_LOW&gt;;
		status = "okay";
	};
</code></pre>
<ul>
<li>led-gpio 属性指定了 LED 灯所使用的 GPIO，在这里就是 GPIO1 的 IO03，低电平有效。</li>
<li>稍后编写驱动程序的时候会获取 led-gpio 属性的内容来得到 GPIO 编号，因为 gpio 子系统的 API 操作函数需要 GPIO 编号</li>
</ul>
<h2 id="uu5gdt">8.3 API函数</h2>
<ol>
<li>
<p>gpio_request</p>
<p>gpio_request 函数用于申请一个 GPIO 管脚，在使用一个 GPIO 之前一定要使用 gpio_request进行申请。</p>
<pre class="prettyprint"><code class="language-cpp">int gpio_request(unsigned gpio, const char *label)
</code></pre>
<ul>
<li>gpio：要申请的 gpio 标号，使用 of_get_named_gpio 函数从设备树获取指定 GPIO 属性信
息，此函数会返回这个 GPIO 的标号</li>
<li>label：给 gpio 设置个名字。</li>
<li>返回值： 0，申请成功；其他值，申请失败。</li>
</ul>
</li>
<li>
<p>gpio_free
如果不使用某个 GPIO ，需要调用 gpio_free 函数进行释放。</p>
<pre class="prettyprint"><code class="language-cpp">void gpio_free(unsigned gpio)；  // gpio：要释放的 gpio 标号。
</code></pre>
</li>
<li>
<p>gpio_direction_input
设置某个 GPIO 为输入</p>
<pre class="prettyprint"><code class="language-cpp">int gpio_direction_input(unsigned gpio) //gpio：要设置为输入的 GPIO 标号。
</code></pre>
</li>
<li>
<p>gpio_direction_output
设置某个 GPIO 为输出，并且设置默认输出值。</p>
<pre class="prettyprint"><code class="language-cpp">int gpio_direction_output(unsigned gpio, int value)
</code></pre>
<ul>
<li>gpio：要设置为输出的 GPIO 标号。</li>
<li>value： GPIO 默认输出值。</li>
<li>返回值： 0，设置成功；负值，设置失败</li>
</ul>
</li>
<li>
<p>gpio_get_value
获取某个 GPIO 的值(0 或 1)</p>
<pre class="prettyprint"><code class="language-cpp">#define gpio_get_value __gpio_get_value
int __gpio_get_value(unsigned gpio)
</code></pre>
<ul>
<li>gpio：要获取的 GPIO 标号。</li>
<li>返回值： 非负值，得到的 GPIO 值；负值，获取失败</li>
</ul>
</li>
<li>
<p>gpio_set_value
设置某个 GPIO 的值</p>
<pre class="prettyprint"><code class="language-cpp">#define gpio_set_value __gpio_set_value
void __gpio_set_value(unsigned gpio, int value)
</code></pre>
<ul>
<li>gpio：要设置的 GPIO 标号。</li>
<li>value： 要设置的值</li>
</ul>
</li>
</ol>
<h2 id="445nj2">8.4 GPIO相关OF函数</h2>
<ol>
<li>
<p>of_gpio_named_count
获取设备树某个属性里面定义了几个GPIO 信息。</p>
<pre class="prettyprint"><code class="language-cpp">int of_gpio_named_count(struct device_node *np, const char *propname)
</code></pre>
<ul>
<li>np：设备节点。</li>
<li>propname：要统计的 GPIO 属性。</li>
<li>返回值： 正值，统计到的 GPIO 数量；负值，失败</li>
</ul>
</li>
<li>
<p>of_gpio_count
此函数统计的是gpios属性的 GPIO 数量，而 of_gpio_named_count 函数可以统计任意属性的GPIO 信息</p>
<pre class="prettyprint"><code class="language-cpp">int of_gpio_count(struct device_node *np)
</code></pre>
<ul>
<li>np：设备节点。</li>
<li>返回值： 正值，统计到的 GPIO 数量；负值，失败</li>
</ul>
</li>
<li>
<p>of_get_named_gpio
获取 GPIO 编号，在Linux 内核中关于 GPIO 的 API 函数都要使用 GPIO 编号，此函数会将设备树中类似&lt;&amp;gpio5   7         GPIO_ACTIVE_LOW&gt;的属性信息转换为对应的 GPIO 编号。</p>
<pre class="prettyprint"><code class="language-cpp">int of_get_named_gpio(struct device_node *np,
                       const char *propname,
                       int index)
</code></pre>
<ul>
<li>np：设备节点。</li>
<li>propname：包含要获取 GPIO 信息的属性名。</li>
<li>index： GPIO 索引，因为一个属性里面可能包含多个 GPIO，此参数指定要获取哪个 GPIO的编号，如果只有一个 GPIO 信息的话此参数为 0。</li>
<li>返回值： 正值，获取到的 GPIO 编号；负值，失败。</li>
</ul>
</li>
</ol>
<h2 id="f10qyg">8.5 pinctrl和gpio子系统使用程序框架</h2>
<pre class="prettyprint"><code class="language-cpp">	int ret = 0;
    /* 1 、获取设备节点：alphaled */
    gpio_led.nd = of_find_node_by_path("/gpioled");
    if(gpio_led.nd == NULL)
    {
        printk("songwei_led node can not found!\r\n");
        return -EINVAL;
    }else
    {
        printk("songwei_led node has been found!\r\n");
    }
    /* 2、 获取设备树中的 gpio 属性，得到 LED 所使用的 LED 编号 */
    gpio_led.led_gpio = of_get_named_gpio(gpio_led.nd,"led-gpio",0);
    if(gpio_led.led_gpio &lt; 0) 
    {
        printk("can't get led-gpio");
        return -EINVAL;
    }
    printk("led-gpio num = %d\r\n", gpio_led.led_gpio);
    /* 3、设置 GPIO1_IO03 为输出，并且输出高电平，默认关闭 LED 灯 */
    ret = gpio_direction_output(gpio_led.led_gpio, 1);
    if(ret &lt; 0) 
    {
        printk("can't set gpio!\r\n");
    }
</code></pre></div> <!----> <div class="tw-w-full tw-py-5 tw-flex tw-justify-center transition-ease-2"><!----> <!----></div> <div data-v-37735a2c="" class="el-dialog__wrapper" style="display: none;"><div role="dialog" aria-modal="true" aria-label="提示" class="el-dialog el-dialog--medium is-with-title" style="margin-top: 15vh; width: 470px;"><div class="el-dialog__header width-header-border"><span class="el-dialog__title">提示</span><button type="button" aria-label="Close" class="el-dialog__headerbtn"><i class="el-dialog__close el-icon el-icon-close"></i></button></div><!----><div class="el-dialog__footer"><div data-v-37735a2c=""><!----> <button data-v-37735a2c="" type="button" class="el-button tw-w-22 el-button--primary"><!----><!----><span class="">订阅专栏</span></button></div></div></div></div> <div data-v-c5d955dc="" class="el-dialog__wrapper" style="display: none;"><div role="dialog" aria-modal="true" aria-label="提示" class="el-dialog el-dialog--medium is-with-title" style="margin-top: 15vh; width: 470px;"><div class="el-dialog__header width-header-border"><span class="el-dialog__title">提示</span><button type="button" aria-label="Close" class="el-dialog__headerbtn"><i class="el-dialog__close el-icon el-icon-close"></i></button></div><!----><div class="el-dialog__footer"><div data-v-c5d955dc=""><!----> <button data-v-c5d955dc="" type="button" class="el-button el-button--primary"><!----><!----><span class="">￥充值会员免费看</span></button></div></div></div></div></div> <div data-v-1aa8bdfc="" class="tw-bg-gray-50 tw-rounded-xl tw-py-5 tw-pl-10 tw-pr-[82px] tw-mt-4"><div class="tw-flex tw-justify-between tw-pb-4 tw-border-b-1 tw-border-gray-200"><div class="tw-text-size-head-pure tw-font-bold">评论</div> <button type="button" class="el-button tw-rounded-base el-button--primary el-button--mini"><!----><!----><span class="">评论</span></button></div> <div data-v-8d6d3c6c="" class="tw-px-5 tw-py-4 tw-bg-gray-100 tw-rounded-xl tw-mt-4" style="display: none;"><div data-v-8d6d3c6c="" class="comment-textarea el-textarea el-input--xl is-borderless"><textarea autocomplete="off" placeholder="发布你的评论" rows="1" class="el-textarea__inner" style="min-height: 39px; height: 39px;"></textarea><!----></div> <div data-v-8d6d3c6c="" class="tw-flex tw-justify-between tw-items-center tw-mt-3"><div data-v-8d6d3c6c="" class="tw-text-sm-pure tw-text-gray-800 tw-cursor-pointer"><div data-v-2efddc79="" data-v-8d6d3c6c="" class="el-dropdown"><span data-v-8d6d3c6c="" aria-haspopup="list" aria-controls="dropdown-menu-1369" role="button" tabindex="0" class=" el-dropdown-selfdefine"><span data-v-79ba69ea="" data-v-8d6d3c6c="" tagtype="span" class="ncicon tw-mr-1  ncicon-bleed" aria-label="Face4"><svg data-v-79ba69ea="" focusable="false" viewBox="0 0 16 16" fill="currentColor" width="1.2em" height="1.2em" aria-hidden="true"><g><path d="M8.0313 1.0469C4.191 1.0469 1.078 4.1599 1.078 8s3.113 6.9531 6.9531 6.9531c3.8402 0 6.9532-3.113 6.9532-6.9531s-3.113-6.9531-6.9532-6.9531zm0 1.5c3.0116 0 5.453 2.4414 5.453 5.4531 0 3.0117-2.4414 5.4531-5.453 5.4531-3.0117 0-5.4532-2.4414-5.4532-5.4531 0-3.0117 2.4415-5.4531 5.4531-5.4531z"></path><path d="M10.1563 9.4063H5.8125c-.5566 0-.9193.5849-.6718 1.0834l.007.014.0082.0154.006.0112.0065.0119.0106.019.0077.0134.0082.0141a2.778 2.778 0 0 0 .1253.1943c.1343.191.2987.3802.4962.557.5675.508 1.2942.8163 2.168.8163.8737 0 1.6005-.3083 2.168-.8163a3.2843 3.2843 0 0 0 .4961-.557 2.8031 2.8031 0 0 0 .1183-.1822l.0113-.0192.0079-.0138.011-.0195.0067-.0122.0062-.0115.0085-.016.0074-.0144a.9709.9709 0 0 0 .0022-.0045c.2475-.4985-.1152-1.0834-.6717-1.0834zM10.1875 6a.75.75 0 0 1 .7499.7376l.0001.0124v.3125a.75.75 0 0 1-1.4999.0124l-.0001-.0124V6.75a.75.75 0 0 1 .75-.75zM5.8125 6a.75.75 0 0 1 .7499.7376l.0001.0124v.3125a.75.75 0 0 1-1.4999.0124l-.0001-.0124V6.75a.75.75 0 0 1 .75-.75z"></path></g></svg></span><span data-v-8d6d3c6c="" class="tw-align-middle">表情</span></span> <ul data-v-2efddc79="" class="el-dropdown-menu el-popper emoji-dropdown-menu" id="dropdown-menu-1369" style="display: none;"><li data-v-2efddc79="" tabindex="-1" class="el-dropdown-menu__item"><!----><div data-v-2c1e725d="" data-v-2efddc79="" class="tw-px-4 tw-pt-4 tw-rounded-lg tw-bg-white dark:tw-bg-[#313540]"><div data-v-2c1e725d="" class="net-background tw-w-[334px] tw-h-[186px] tw-grid tw-grid-cols-9 tw-grid-rows-5 tw-border-1 tw-relative" style="border-color: rgb(238, 238, 238);"><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😀</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😁</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😂</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">🤣</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😃</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😄</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😅</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😆</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😉</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😊</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😋</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😎</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😍</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😘</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">🥰</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😗</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😙</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😚</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">🙂</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">🤗</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">🤩</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">🤔</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">🤨</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😐</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😑</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😶</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">🙄</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😏</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😣</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😥</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😮</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">🤐</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😯</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😪</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😫</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😴</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😌</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😛</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😜</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😝</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">🤤</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😒</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😓</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😔</div><div data-v-2c1e725d="" class="emoji-item tw-text-[16px] tw-flex tw-items-center tw-justify-center tw-cursor-pointer">😕</div> <div data-v-2c1e725d="" class="large-emoji-item tw-w-28 tw-h-28 tw-absolute tw-top-[-1px] tw-flex tw-items-center tw-justify-center tw-bg-white tw-border-1 tw-border-gray-300 tw-text-[96px] tw-right-[-1px]" style="box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 8px; display: none;">
            
        </div></div> <div data-v-2c1e725d="" class="tw-mt-4 tw-flex tw-justify-center tw-mb-2.5 dark:tw-text-[#B9BCC3]"><span data-v-79ba69ea="" data-v-2c1e725d="" tagtype="span" class="ncicon tw-cursor-pointer  ncicon-bleed  tw-text-gray-500" aria-label="Zhankai001" style="transform: rotate(90deg);"><svg data-v-79ba69ea="" focusable="false" viewBox="0 0 1024 1024" fill="currentColor" width="14" height="14" aria-hidden="true"><path fill="currentColor" fill-rule="nonzero" d="M828.0447 281.2004c17.5625-19.8576 47.8974-21.7181 67.755-4.1557 19.659 17.3869 21.679 47.292 4.6766 67.1561l-.521.5988L571.9255 715.697c-29.2708 33.096-79.829 36.1968-112.925 6.926a80 80 0 0 1-6.1988-6.115l-.7272-.811-328.0298-370.8974c-17.5624-19.8575-15.7019-50.1924 4.1557-67.7549 19.659-17.3868 49.5868-15.7372 67.2242 3.5653l.5307.5904L511.999 638.545l316.0457-357.3446z"></path></svg></span> <span data-v-2c1e725d="" class="tw-text-gray-800 tw-mx-3 dark:tw-text-[#B9BCC3]">1/2</span> <span data-v-79ba69ea="" data-v-2c1e725d="" tagtype="span" class="ncicon tw-cursor-pointer  ncicon-bleed tw-text-gray-800" aria-label="Zhankai001" style="transform: rotate(-90deg);"><svg data-v-79ba69ea="" focusable="false" viewBox="0 0 1024 1024" fill="currentColor" width="14" height="14" aria-hidden="true"><path fill="currentColor" fill-rule="nonzero" d="M828.0447 281.2004c17.5625-19.8576 47.8974-21.7181 67.755-4.1557 19.659 17.3869 21.679 47.292 4.6766 67.1561l-.521.5988L571.9255 715.697c-29.2708 33.096-79.829 36.1968-112.925 6.926a80 80 0 0 1-6.1988-6.115l-.7272-.811-328.0298-370.8974c-17.5624-19.8575-15.7019-50.1924 4.1557-67.7549 19.659-17.3868 49.5868-15.7372 67.2242 3.5653l.5307.5904L511.999 638.545l316.0457-357.3446z"></path></svg></span></div></div></li></ul></div></div> <button data-v-8d6d3c6c="" disabled="disabled" type="button" class="el-button el-button--primary el-button--mini is-disabled"><!----><!----><span class="">发送</span></button></div></div>  <div class="tw-text-center"><img src="" alt="empty" style="width: 130px; height: 130px; margin-top: 50px;"></div> <!----></div></div> <div class="tw-w-10 tw-rounded-t-lg tw-shadow-sm tw-rounded-bl-lg tw-bg-white tw-fixed tw-right-10 tw-top-24" data-v-b8dfa878="" data-v-1884ea36=""><div class="tw-h-10 transition-ease-2 hover:tw-text-green-500 tw-mb-2 tw-cursor-pointer tw-text-gray-600 tw-flex tw-justify-center tw-items-center" data-v-b8dfa878=""><span tagtype="span" aria-label="Fankui001" class="ncicon  ncicon-bleed" data-v-79ba69ea="" data-v-b8dfa878=""><svg focusable="false" viewBox="0 0 1024 1024" fill="currentColor" width="20" height="20" aria-hidden="true" data-v-79ba69ea=""><g fill="none" fill-rule="evenodd"><path stroke="currentColor" stroke-linecap="round" stroke-width="96" d="M861 424.75v352.49c0 46.2594-37.5006 83.76-83.76 83.76H246.76c-46.2594 0-83.76-37.5006-83.76-83.76V246.76c0-46.2594 37.5006-83.76 83.76-83.76H512M632.25 391.75 678 346l183-183"></path><path fill="currentColor" d="M305 557h75c17.6731 0 32 14.3269 32 32 0 17.6731-14.3269 32-32 32h-75c-17.6731 0-32-14.3269-32-32 0-17.6731 14.3269-32 32-32z"></path><rect width="305" height="64" x="273" y="685" fill="currentColor" rx="32"></rect></g></svg></span></div> <div class="el-tooltip tw-h-10 transition-ease-2 hover:tw-text-green-500 tw-mb-2 tw-cursor-pointer tw-text-gray-600 tw-flex tw-justify-center tw-items-center" data-v-b8dfa878="" aria-describedby="el-tooltip-7003" tabindex="0"><span tagtype="span" aria-label="Liulan" class="ncicon  ncicon-bleed" data-v-79ba69ea="" data-v-b8dfa878=""><svg focusable="false" viewBox="0 0 1024 1024" fill="currentColor" width="20" height="20" aria-hidden="true" data-v-79ba69ea=""><g><path d="M510.8856 161.9984c-155.728.0882-293.7278 97.8337-413.4914 286.4652-30.6606 48.2914-29.8053 110.0967 2.0366 157.486l1.0576 1.552 3.315 4.777c115.1133 164.8096 251.4916 249.8091 407.135 249.7236 156.8753-.0892 294.973-86.5734 412.4512-254.1475 33.3132-47.5188 34.818-110.3342 3.9679-159.353l-1.0168-1.5922-3.4788-5.3491c-120.5751-184.2876-258.074-279.647-411.9763-279.562zm-3.4855 96.0255 3.5389-.026c116.777-.064 227.1335 76.4714 331.5896 236.1226l3.2613 5.015c10.6074 16.4098 10.2089 37.6117-1.0077 53.6113-100.8597 143.869-211.5446 213.1858-333.8974 213.2554l-3.6303-.0184c-119.6782-1.2785-227.281-69.1313-324.748-208.6764l-3.0637-4.4152c-10.932-15.857-11.3271-36.7128-1.0037-52.9725 102.7512-161.8364 212.2403-240.2783 328.961-241.8958z"></path><path d="M512 352c-88.3656 0-160 71.6344-160 160s71.6344 160 160 160 160-71.6344 160-160-71.6344-160-160-160zm0 96c35.3462 0 64 28.6538 64 64 0 35.3462-28.6538 64-64 64-35.3462 0-64-28.6538-64-64 0-35.3462 28.6538-64 64-64z"></path></g></svg></span></div> <div class="tw-h-10 transition-ease-2 hover:tw-text-green-500 tw-cursor-pointer tw-text-gray-600 tw-flex tw-justify-center tw-items-center" data-v-b8dfa878=""><span tagtype="span" aria-label="Huidaodingbu001" class="ncicon  ncicon-bleed" data-v-79ba69ea="" data-v-b8dfa878=""><svg focusable="false" viewBox="0 0 1024 1024" fill="currentColor" width="20" height="20" aria-hidden="true" data-v-79ba69ea=""><g fill="currentColor" fill-rule="nonzero"><path d="M512.182 252.5041c26.2445 0 47.5696 21.0627 47.9935 47.2062l.0064.7938V912c0 26.5097-21.4903 48-48 48-26.2446 0-47.5697-21.0627-47.9936-47.2062L464.182 912V300.5041c0-26.5097 21.4903-48 48-48z"></path><path d="M478.058 264.3611c18.558-18.5589 48.532-18.7444 67.3182-.5567l.5658.5567 263 263.0137c18.7447 18.7457 18.7439 49.1376-.0018 67.8823-18.5582 18.5572-48.5309 18.742-67.3164.555l-.5658-.5568L512 366.185 282.942 595.2553c-18.5572 18.5582-48.53 18.7446-67.3164.5585l-.5658-.5567c-18.5582-18.5573-18.7446-48.53-.5585-67.3164l.5567-.5659 263-263.0137zM775 74.9589c26.5097 0 48 21.4903 48 48 0 26.2446-21.0627 47.5697-47.2062 47.9936l-.7938.0064H249c-26.5097 0-48-21.4903-48-48 0-26.2446 21.0627-47.5697 47.2062-47.9936L249 74.959h526z"></path></g></svg></span></div></div></div></div></main> <!----></section>
    

    
    <script src="./最全Linux驱动开发八股文（七） - 牛客网_files/hm.js.下载"></script><script crossorigin="anonymous" async="" src="./最全Linux驱动开发八股文（七） - 牛客网_files/oig.2.1.js.下载"></script><script type="text/javascript">
    window.__VUE_SSR_CONTEXT__ = {__INJECTED_PUBLIC_PATH__: "https://static.nowcoder.com/fe/file/site/www-web/prod/1.0.425"};
    window.useNeteaseCaptcha = true;
    window.ncJsVersion = "1.0.425";
    window.ncJsInDev = false;
    window.ncJsInPre = false;
    window.ncJsInProd = true;
    window.envInfo = {
        
            user: null,
        
        isLogin: false,
        isUserError: false
    };
    </script>

    
    
        <script>
        
            window.ncJsUrlParam = {"query":{"zhuanlanId":"jLN8b0","uuid":"906fa9801ad74bbba07018ffc36af2d3"},"params":{}};
        
        </script>
    

    <script type="text/javascript">
(function () {
    !function (e, t, n, g, i) {
        e[i] = e[i] || function () {
            (e[i].q = e[i].q || []).push(arguments)
        }, n = t.createElement("script"), n.setAttribute('crossorigin', 'anonymous'), tag = t.getElementsByTagName("script")[0], n.async = 1, n.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + g, tag.parentNode.insertBefore(n, tag)
    }(window, document, "script", "static.nowcoder.com/lib/oig.2.1.js", "gio");
    gio('init', 'c196c3667d214851b11233f5c17f99d5', {});
    
        gio('config',  {'host' : 'grow.nowcoder.com'});
    

    
        gio('clearUserId');
    
    gio('send');
})();

var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "//hm.baidu.com/hm.js?a808a1326b6c06c437de769d1b85b870";
  var s = document.getElementsByTagName("script")[0];
  s.parentNode.insertBefore(hm, s);
})();
</script>

    
    
    <script crossorigin="anonymous" src="./最全Linux驱动开发八股文（七） - 牛客网_files/runtime.js.下载"></script>
    <script crossorigin="anonymous" src="./最全Linux驱动开发八股文（七） - 牛客网_files/vendor.dll.js.下载"></script>
    <script crossorigin="anonymous" src="./最全Linux驱动开发八股文（七） - 牛客网_files/common.js.下载"></script>


    
        <script crossorigin="anonymous" src="./最全Linux驱动开发八股文（七） - 牛客网_files/main.entry.js.下载"></script><!---->
    
    <div style="position:absolute;left:-100000px;top:-100000px;"><a target="_blank" href="https://www.nowcoder.com/simple/home">牛客网</a><br><a target="_blank" href="https://www.nowcoder.com/simple/hr">牛客企业服务</a></div>


</body></html>